var mongodb = require('./msession');  //连接mongo

function Project(proj){  
	this.projId = proj.projId; //项目id编号
	this.name = proj.name;     //项目产品名称
	this.introduction = proj.introduction;//产品介绍
	this.type = proj.type;     //产品类别
	this.discribe = proj.discribe; //产品描述
	this.owner = proj.owner;  //项目原始受益人
	this.accountant = proj.accountant;//会计师
	this.lawyer = proj.lawyer; //律师
	this.comment = proj.comment; //评价机构
	this.thirdAuthen = proj.thirdAuthen; //第三方认证
	this.partners = proj.partners; //其他角色公司
	this.authen = proj.authen; //获得授权公司列表
    this.status = proj.status;//产品状态
}

module.exports = Project;

Project.prototype.save = function(callback){   
	var project ={             
        	projId:this.projId, //项目id编号
        	name:this.name,     //项目产品名称
	        introduction:this.introduction,//产品介绍
	        type:this.type,     //产品类别
	        discribe:this.discribe, //产品描述
	        owner:this.owner,  //项目原始受益人
	        accountant:this.accountant,//会计师
	        lawyer:this.lawyer,//律师
	        comment:this.comment, //评价机构
	        thirdAuthen:this.thirdAuthen, //第三方认证
	        partners:this.partners, //其他角色公司
	        authen:[], //获得授权公司列表
            status:this.status,//产品状态
	};

    
	mongodb.open(function(err,db){  //打开数据库
		if(err){
			return callback({callbc:"数据库打不开"});  //数据库没有打开
		};

		db.collection('projects',function(err,collection){  //数据库打开查找/新建posts集合
			if(err){              //集合没有或者创建该集合失败
				mongodb.close();
				return callback({callbc:"集合打不开"});
			}

			collection.insert(project,{   //插入数据
				safe:true
			},function(err){
				mongodb.close();
				if(err){     //插入失败
					return callback({callbc:"插入失败"})
				}
				callback(null)  //插入成功没有返回任何错误
			})
		})
	});
};

Project.get = function(searchName, callback){  
	mongodb.open(function(err,db){
		if(err){   
			return callback(err);
		}
		db.collection('projects',function(err,collection){
			if(err){  
				mongodb.close();  
				return callback(err)  
			}

			collection.find({  
				name:searchName   
			},function(err,docs){  
				mongodb.close();  
				if(err){         
				  return callback(err) 
				}
				callback(null,docs); 
			})
		})
	})
};

Project.getAll = function(callback){   //
	mongodb.open(function(err,db){
		if(err){   
			return callback(err);
		}
		db.collection('projects',function(err,collection){
			if(err){               
				mongodb.close();  
				return callback(err)  
			}

            collection.find({}).toArray(function(err,docs){
				mongodb.close();
				if(err){
					return callback(err);
				}
				callback(null,docs);
			})
			
		})
	})
};
// Project.search = function(name,step,callback){  //查
// 	mongodb.open(function(err,db){
// 		if(err){   //打开数据出错报个错
// 			return callback(err);
// 		}
// 		db.collection('projects',function(err,collection){
// 			if(err){   //  查找集合‘users’出错
// 				mongodb.close();  //关闭数据库
// 				return callback(err)  //报个错
// 			}
            
//             var query ={};  //因为mongo中间件不支持变量,所以建立一个空对象
// 			if(name){      //如果传入参数name
// 				query.name = name;  //对象.name属性等于传入值 即query={name:name传入值}
// 			}
//             if(step){
//             	query.step = step;
//             }
// 			collection.find(query).sort({
// 				time:-1
// 			}).toArray(function(err,docs){
// 				mongodb.close();
// 				if(err){
// 					return callback(err);
// 				}
// 				callback(null,docs);
// 				console.log(docs)
// 			})          
// 		})
// 	})
// }

// Project.update = function(name,query,callback){  
// 	mongodb.open(function(err,db){
// 		if(err){   //打开数据出错报个错
// 			return callback(err);
// 		}
// 		db.collection('projects',function(err,collection){
// 			if(err){   //  查找集合‘users’出错
// 				mongodb.close();  //关闭数据库
// 				return callback(err)  //报个错
// 			}
            
// 			collection.update(
// 				{name:name},{$set:{step:query}}
// 				,function(err){
// 				mongodb.close();
// 				if(err){
// 					return callback(err)
// 				}
// 				callback(null)
// 			}
// 			)
          
// 		})
// 	})
// }









